// 导入定义模块的方法
import { defineStore } from 'pinia'
import { ref } from 'vue'
import { userGetInfoService } from '../../api/user'

// 用户模块 token setToken removeToken
export const useUserStore = defineStore(
  'big-user',
  () => {
    // 定义token（state）
    const token = ref('')
    // 设置token（action）
    const setToken = (newToken) => {
      token.value = newToken
    }
    // 清空token
    const removeToken = () => {
      token.value = ''
    }

    // （state）
    const user = ref({})
    // （action）
    const getUser = async () => {
      const res = await userGetInfoService() // 请求获取数据
      console.log(res)
      user.value = res.data.data
    }
    // 清空user
    const setUser = (obj) => (user.value = obj)

    return { token, setToken, removeToken, user, getUser, setUser }
  },
  {
    persist: true // 持久化
  }
)
